package schema

//支付记录
// @table 支付记录表(wallet_order)
type Order struct {
	ID        int64  `bson:"_id" json:"id"`                //唯一标识(自增ID)
	RecordID  string `bson:"record_id" json:"record_id"`   //支付记录ID
	OrderID   string `bson:"order_id" json:"order_id"`     //订单ID(来着业务服务)
	TradeID   string `bson:"trade_id" json:"trade_id"`     //交易单ID(来自支付渠道)
	UserID    string `bson:"user_id" json:"user_id"`       //用户ID
	Client    string `bson:"client" json:"client"`         //客户端(key)
	PayType   string `bson:"pay_type" json:"client"`       //支付方式
	Tag       string `bson:"tag" json:"tag"`               //标签
	Des       string `bson:"des" json:"des"`               //订单描述
	Price     int64  `bson:"price" json:"price"`           //订单价格
	RealPrice int64  `bson:"real_price" json:"real_price"` //实收金额

	//原始信息记录
	PayData      string `bson:"pay_data" json:"pay_data"`           //支付信息
	CheckData    string `bson:"check_data" json:"check_data"`       //同步回调信息
	CallbackData string `bson:"callback_data" json:"callback_data"` //异步回调信息
	QueryData    string `bson:"query_data" json:"query_data"`       //订单查询结果信息

	Status         int `bson:"status" json:"status"`                   //订单状态;1.新建,2.发起,3.同步确认,4异步确认,5取消
	CheckStatus    int `bson:"check_status" json:"check_status"`       //同步确认状态;1.未确认,2.成功,3.失败,4.异常
	CallbackStatus int `bson:"callback_status" json:"callback_status"` //异步确认状态;1.未确认,2.成功,3.失败,4.异常

	Created    int64 `bson:"created" json:"created"`       //创建时间
	Checked    int64 `bson:"checked" json:"checked"`       //同步确认时间
	Callbacked int64 `bson:"callbacked" json:"callbacked"` //异步确认时间
}

// 支付记录查询参数
type OrderQueryParam struct {
	OrderID string

	//分页参数
	Page     bool
	Total    bool
	PageFrom int
	PageSize int

	Sort []string
}

type OrderQueryResult struct {
	Result string `json:"result"`

	RecordID  string `json:"record_id"`
	OrderID   string `json:"order_id"`
	TradeID   string `json:"trade_id"`
	Price     int64  `json:"price"`
	RealPrice int64  `json:"real_price"`
	PayType   string `json:"pay_type"`
}
